<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>面试题</title>
</head>
<body>
    <script>
        //push  是数组的内置方法 在数组的末尾添加数据
        // arr[arr.length] = function(){console.log(i);}
/* 
        function show(){
            var arr = [];
            for (var i=0;i<5;i++){
                arr.push(function(){
                    console.log(i)
                })
            }
            return arr;
        }
        var arr = show();
        console.log(arr); // [f,f,f,f,f]   打印出5个函数形成的数组

        arr[0]();// 5
        arr[1]();// 5
        arr[2]();// 5
        arr[3]();// 5
        arr[4]();// 5
 */
        // 输出 0 1 2 3 4
        function show(){
            var arr = [];
            for(var i=0; i<5;i++){
                // 解决办法 形成 闭包
                (function(i){
                    arr.push(function(){
                        console.log(i);
                    })
                })(i);
            }
            return arr;
        }
        

        var arr=show();
        console.log(arr); // [f,f,f,f,f]

        arr[0]();//0
        arr[1]();//1
        arr[2]();//2
        arr[3]();//3
        arr[4]();//4

    </script>
</body>
</html>